// str 截取长度为 len
function MySubStr(str,len){
    var len2 = len;
    var str2 = "";
    var ch = '';
    var flag = 0;
    for( var i=0;i<len && !!str.charAt(i);i++ ){
        ch = str.charAt(i);
        str2 += ch;
        if( MyStrMatch(ch,"numchar`~!@#$%^&*()-_=+[{]};:\'\"\\|,<.>/?") ){
            flag++;
            if( flag%2==0 ){
                len++;
            }
        }
    }
    if( i>=len )
        str2 += "...";
    return str2;
}


/*
* 从 str1 中若有与 str2 相同的字符
* 返回 1，否则返回 0
* str2 含前缀 "num" 意思是：0-9 数字
* str2 含前缀 "char" 意思是：a-z,A-Z 字母
* str2 含前缀 "numchar" 意思是：上面两个之和
*/
function MyStrMatch(str1,str2){
    var numflag = 0;
    var charflag = 0;
    var j = 0;
    if( str2.substring(0,3) == "num" ){
        numflag = 1;
        j += 3;
    }
    if( str2.substring(j,j+4) == "char" ){
        charflag = 1;
        j += 4;
    }
    for( var i=0;i<str1.length;i++ ){
        if( numflag ){
            if( str1.charAt(i)>'0' && str1.charAt(i)<'9' )
                return 1;
        }
        if( charflag ){
            if( str1.charAt(i)>'a' && str1.charAt(i)<'z' )
                return 1;
            if( str1.charAt(i)>'A' && str1.charAt(i)<'Z' )
                return 1;
        }
        for( var k=j;k<str2.length-1;k++ ){
            if( str1.charAt(i) == str2.charAt(k) )
                return 1;
        }
    }
    return 0;
}
//显示提示信息 str要提示的信息  second 多少毫秒后关闭
function shows(str,second){
	  $("<div id='tipdiv'><div class='wrapper'><div class='box'></div><div id='tipimg' onMouseDown='hides()'></div></div></div>").appendTo("body");
	  $(".box").html(str);
	  $("#tipdiv").fadeIn();
	  if(second==null){
		  second = 2000;
	  }
	  setTimeout("hides()",second) ; 
}

function hides(){
	  $("#tipdiv").fadeOut();
	  $("#tipdiv").remove();
//	  hidediv();
}
var pageIndexTemp=0;
var inputVal = "";
//点击下拉框中组件执行的事件
function blankInit(dropId){
	$(".loadMoreData").click(function(){
		return false;
	})
	$("#" + dropId).find("li").click(function(){
		$("#" + dropId).find("ul").hide();
		advancedSearchBodyInit();
	})
	$(".search_result .jspVerticalBar").click(function(){
		return false;
	})
	$(".search_result .jspHorizontalBar").click(function(){
		return false;
	})
	$(".advancedSearchBody .jspVerticalBar").click(function(){
		return false;
    })
}
//点击空白处重新初始化高级搜索框滚动条
function blankScrollInit(){
	$(document).click(function(event){
		advancedSearchBodyInit();
	})
}
//封装下拉菜单滚动条销毁方法
function dropdownMenuDestroyInit(obj){
	var dropdown = $("#" + obj).children("ul").jScrollPane();
	var dropdownInit = dropdown.data('jsp');
	dropdownInit.destroy();
}
//封装点击下拉菜单滚动条，阻止下拉菜单隐藏方法
function dropdownMenuInit(obj){
	$("#" + obj).children("ul").jScrollPane();
}
//封装高级搜索滚动条销毁方法
function advancedSearchBodyDestroyInit(){
	var advancedSearch = $(".advancedSearchBody").jScrollPane();
	var advancedSearchInit = advancedSearch.data('jsp');
	advancedSearchInit.destroy();
}
//封装点击高级搜索弹框滚动条，阻止下拉菜单隐藏
function advancedSearchBodyInit(){
	$(".advancedSearchBody").jScrollPane();
}
//号码/别名下拉菜单展开初始化
function searchMenuInit(menuId){
	advancedSearchBodyInit();
   	blankInit(menuId);
   	blankScrollInit();
   	dropdownMenuDestroyInit(menuId);
	dropdownMenuInit(menuId);
}
//获取呼叫类型
function getCallTyle(obj,id,dropId){
    $.ajax({
       data:'',
       type : "POST",
       dataType : "json",
       async : true,
       timeout : 10000,
       url : ctx+"/systemController/getCallTypeInfo.do",
       success : function(data, textStatus, jqXHR){
           if(data.state == 0){
               var str="";
               str += "<li><a value='"+$.i18n.prop("ADSEARCH_ALL")+"' onclick=\"clickNumSelect(this,'"+id+"','')\">"+$.i18n.prop("ADSEARCH_ALL")+"</a></li>";
               for(var i=0;i<data.data.length;i++){
                    str += "<li><a value=\""+data.data[i].call_type+"\" onclick=\"clickNumSelect(this,'"+id+"','"+data.data[i].call_type+"')\">"+$.i18n.prop(data.data[i].type_alias)+"</a></li>";
               }
               $(obj).next("ul").html(str);
               searchMenuInit(dropId);
           }
       }
   })
}
//获取主叫系统类型
function getSystemType(obj, id, dropId){
    $.ajax({
       data:'',
       type : "POST",
       dataType : "json",
       async : true,
       timeout : 10000,
       url : ctx+"/systemController/getSystemTypeAliasAll.do",
       success : function(data, textStatus, jqXHR){
           if(data.state == 0){
        	   var str="";
               str += "<li><a value='"+$.i18n.prop("ADSEARCH_ALL")+"' onclick=\"clickNumSelect(this,'"+id+"','')\">"+$.i18n.prop("ADSEARCH_ALL")+"</a></li>";
               for(var i=0;i<data.data.length;i++){
            	   str += "<li><a value=\""+data.data[i].system_type+"\" onclick=\"clickNumSelect(this,'"+id+"','"+data.data[i].system_type+"')\">"+$.i18n.prop(data.data[i].type_alias)+"</a></li>";
               }
               $(".pull-right").hide();
               $(obj).siblings("ul").html(str);
               searchMenuInit(dropId);
           }
       },
       error: function (XMLHttpRequest, textStatus, errorThrown) { 
       },
       complete : function(XMLHttpRequest, textStatus) {
       }
   })
}
//获取主叫系统类型
function getOperationType(obj, id, menuId){
	$.ajax({
		data:'',
		type : "POST",
		dataType : "json",
		async : true,
		timeout : 10000,
		url : ctx+"/systemController/getOperationType.do",
		success : function(data, textStatus, jqXHR){
			if(data.state == 0){
				var str="";
				str += "<li><a value='"+$.i18n.prop("ADSEARCH_ALL")+"' onclick=\"clickNumSelect(this,'"+id+"','')\">"+$.i18n.prop("ADSEARCH_ALL")+"</a></li>";
				for(var i=0;i<data.data.length;i++){
					str += "<li><a value=\""+data.data[i].opt_type+"\" onclick=\"clickNumSelect(this,'"+id+"','"+data.data[i].opt_type+"')\">"+$.i18n.prop(data.data[i].type_alias)+"</a></li>";
				}
				$(obj).siblings("ul").html(str);
				searchMenuInit(menuId);
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) { 
		},
		complete : function(XMLHttpRequest, textStatus) {
		}
	})
}
//触发下拉菜单事件只为初始化滚动条
function autoShowMenu(menuId){
	if($("#" + menuId).attr("class").indexOf("open") > -1){
		$("#" + menuId).find("ul").hide();
	}else{
		$("#" + menuId).find("ul").show();
	}
	$(document).click(function(event){
		$("#" + menuId).find("ul").hide();
	})
	setTimeout(function(){
		advancedSearchBodyInit();
	   	blankInit(menuId);
	   	blankScrollInit();
	},100);
}
//下拉框数字选中事件
function clickNumSelect(obj,id,value){
	var text = $(obj).parents(".dropdown-menu").prev().find("input");
	text.val($(obj).text());
	$("#"+id).val(value);
	$("#"+id+"Alais").val($(obj).text());
}
//输入检测tag要清空哪个alais
function OnInput(tag){
    $("#"+tag).val("");
}
/**
 * 输入的同时进行搜索
 * @param menuId 填充域ID
 * @param inputId 当前域ID
 * @param idHidden 目标域ID
 * @param aliasId 别名域ID
 * @param loadMoreData 是否有更多数据
 * @param pageIndexTemp 分页索引
 */
function OnSearch(menuId,inputId,idHidden,aliasId,loadMoreData){
	if($("#"+inputId).val() != ""){
		inputVal = $("#"+inputId).val();
		$("#"+idHidden).val("")
		pageIndexTemp = 0;
		$("#"+inputId).siblings(".dropdown-menu").show();
	}
	searchCallIDOrAlias(menuId,inputId,idHidden,aliasId,loadMoreData,pageIndexTemp);
	$("#"+inputId).click(function(){
		return false;
	})
	
	$(document).click(function(event){
		$("#"+inputId).siblings(".dropdown-menu").hide();
		if($("#"+idHidden).val() == ""){
	    	$("#"+inputId).val("");
    	}
    })
    
}
/**
 * 根据呼叫ID或别名查询呼叫信息
 * @param menuId 填充域ID
 * @param inputId 当前域ID
 * @param aliasId 别名域ID
 * @param idHidden 目标域ID
 * @param loadMoreData 是否有更多数据
 * @param pageIndexTemp 分页索引
 */
function searchCallIDOrAlias(menuId,inputId,idHidden,aliasId,loadMoreData,pageIndexTemp) {
	if(loadMoreData == undefined){
		pageIndexTemp = 0;
	}
	$.ajax({
	       data:"type="+$("#"+inputId).val()+"&pageIndex="+pageIndexTemp+"&pageSize=10",
	       type : "POST",
	       dataType : "json",
	       async : true,
	       url : ctx+"/systemController/getDeviceNumber.do",
	       success : function(data, textStatus, jqXHR){
	           if(data.state == 0 && data.len > 0){
	        	   pageIndexTemp = data.pageIndex;
	        	   //滚动条销毁
	        	   dropdownMenuDestroyInit(menuId);
	        	   var str = "";
	        	   var alias = "";
	               for(var i=0;i<data.data.length;i++){
	            	   if(data.data[i].device_alias == ""){
	            		   alias = data.data[i].device_number+"("+data.data[i].device_number+")";
	            	   } else {
	            		   alias = data.data[i].device_number+"("+data.data[i].device_alias+")";
	            	   }
	                   str += "<li><a value='"+data.data[i].device_number+"' onclick=\"clickSelectValue('"+menuId+"','"+data.data[i].device_number+"','"+inputId+"','"+data.data[i].device_number+"','"+idHidden+"','"+data.data[i].device_number+"','"+aliasId+"','"+data.data[i].device_alias+"')\">"+alias+"</a></li>";
	               }
	               if(pageIndexTemp == 1){
	            	   $("#" + menuId).children("ul").html("");
	               }
	               $("#" + menuId).children("ul").append(str);
	               if(data.len > 0 && data.len < 10){
	            	   $("#" + menuId).children(".loadMoreData").text($.i18n.prop("ADSEARCH_NO_MORE_DATA"));
	            	   $("#" + menuId).children(".loadMoreData").removeClass("activeMore");
	            	   $("#" + menuId).children(".loadMoreData").attr("onclick","");
	               }else{
	            	   $("#" + menuId).children(".loadMoreData").text($.i18n.prop("ADSEARCH_LOAD_MORE"));
	            	   $("#" + menuId).children(".loadMoreData").addClass("activeMore");
	            	   $("#" + menuId).children(".loadMoreData").attr("onclick","searchCallIDOrAlias('" + menuId + "', '" + inputId + "', '" + idHidden + "', '" + aliasId + "', 'loadMoreData', '"+pageIndexTemp+"')");
	               }
	           }else{
	        	   $("#" + menuId).children("ul").html("<li style='padding: 5px 0;'><a>"+$.i18n.prop("ADSEARCH_NO_RESULT")+"</a></li>")
	        	   $("#" + menuId).children(".loadMoreData").text($.i18n.prop("ADSEARCH_NO_MORE_DATA"));
	        	   $("#" + menuId).children(".loadMoreData").removeClass("activeMore");
	        	   $("#" + menuId).children(".loadMoreData").attr("onclick","");
	           }
	           searchMenuInit(menuId);
	       },
	       error: function (XMLHttpRequest, textStatus, errorThrown) { 
	            alert(XMLHttpRequest.status);
	            alert(XMLHttpRequest.readyState);
	            alert(textStatus);
	       }
		})
}
//下拉框普通选中事件
function clickSelectValue(menuId,value,inputId,inpVal,idHidden,idVal,aliasId,aliasVal){
	$("#"+inputId).val(inpVal);
	$("#"+idHidden).val(idVal);
	$("#"+aliasId).val(aliasVal);
}
//获取session中的权限，并判断是否显示。
function isPermession(userPermission,permessioncode){
	var permissionarray = userPermission.split("-"); 
	for(var i=0;i<permissionarray.length;i++){
		if(permissionarray[i]==permessioncode){
			return true;
		}
	}
	return false;
}